/**
 *
 * 广度优先搜索
 * 广度优先搜索让你能够找出两样东西之间的最短距离（段数最少），
 *
 * 最短路径问题（shorterst-path problem）
 *
 * 工作原理
 * 1. 创建一个队列，用于存储要检索的节点
 * 2. 从队列中弹出第一个节点
 * 3. 检索弹出节点是否符合条件
 * 4a. 是：结束
 * 4b. 否：将这个节点的所有邻居节点都加入队列
 * 5.  回到第二步
 * 6. 如果队列为空，说明没有符合条件的
 *
 */

function person_is_seller(){
  return true
}

function searchDeep(name) {
  // 字典
  let graph = {
    you: ["a", "b"],
  };
  let searchQueue = [];
  searchQueue = graph[name];
  let searched = [];
  while (searchQueue.length) {
    const targe = searchQueue.pop();
    if (!searched.includes(targe)) {
      if (person_is_seller(targe)) {
        console.log(targe + " is a mango seller!");
        return true;
      }
      searchQueue = graph[targe];
      searched.push(targe);
    }
  }

  return false;
}
